<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:comp="http://java.sun.com/jsf/composite/componentes"
	template="/template/template.xhtml">

	<ui:define name="contenido">

		<h:form id="form">

			<p:outputPanel id="panelContenedor">

				<comp:barra bean="#{contratistaBean}">
					<comp:buttonEliminar bean="#{contratistaBean}" />
					<p:separator />
					<comp:buttonExportaExcel bean="#{contratistaBean}" tabla=":form:tablaContratista" />
				</comp:barra>

				<p:outputPanel id="panelNuevo" rendered="#{contratistaBean.editado}">

					<p:panel header="Crear/Editar (Contratista)">

						<h:panelGrid columns="4" columnClasses="columnaEtiqueta,columnaValor,columnaEtiqueta,columnaValor">

							<h:outputText value="Nombre:" />
							<p:inputText value="#{contratistaBean.contratista.nombre}" id="txtNombre" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Ruc:" />
							<p:inputText value="#{contratistaBean.contratista.ruc}" id="txtRuc" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Direccion:" />
							<p:inputText value="#{contratistaBean.contratista.direccion}" id="txtDireccion" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Telefono:" />
							<p:inputText value="#{contratistaBean.contratista.telefono}" id="txtTelefono" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Email:" />
							<p:inputText value="#{contratistaBean.contratista.email}" id="txtEmail" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

						</h:panelGrid>

						<p:spacer width="2px" />

						<p:tabView id="tabViewDetalleContratista">

							<p:tab title="Contactos">

								<p:outputPanel id="panelContacto">

									<h:panelGrid columns="1" style="width:100%;text-align:left">

										<p:commandButton value="Agregar" icon="ui-icon-plus" action="#{contratistaBean.agregarContacto}" process="@this"
											update=":form:tabViewDetalleContratista:panelContacto"></p:commandButton>

										<p:dataTable rowIndexVar="secuencial" emptyMessage="No exsten registros" value="#{contratistaBean.listaContactos}" var="_contacto"
											paginator="true" paginatorPosition="bottom" style="width:100%" rows="10" rowKey="#{_contacto.id}">

											<f:facet name="header">
												<h:outputText value="Lista (Contactos)" />
											</f:facet>

											<p:column headerText="No">
												<h:outputText value="#{secuencial+1}" />
											</p:column>

											<p:column headerText="Nombre:">
												<p:inputText styleClass="input-text" value="#{_contacto.nombre}" id="txtNombre">
													<f:validateBean />
													<p:ajax process="@this" partialSubmit="true" />
												</p:inputText>
											</p:column>

											<p:column headerText="Ruc:">
												<p:inputText styleClass="input-text" value="#{_contacto.ruc}" id="txtRuc">
													<f:validateBean />
													<p:ajax process="@this" partialSubmit="true" />
												</p:inputText>
											</p:column>

											<p:column headerText="Direccion:">
												<p:inputText styleClass="input-text" value="#{_contacto.direccion}" id="txtDireccion">
													<f:validateBean />
													<p:ajax process="@this" partialSubmit="true" />
												</p:inputText>
											</p:column>

											<p:column headerText="Telefono:">
												<p:inputText styleClass="input-text" value="#{_contacto.telefono}" id="txtTelefono">
													<f:validateBean />
													<p:ajax process="@this" partialSubmit="true" />
												</p:inputText>
											</p:column>

											<p:column headerText="Email:">
												<p:inputText styleClass="input-text" value="#{_contacto.email}" id="txtEmail">
													<f:validateBean />
													<p:ajax process="@this" partialSubmit="true" />
												</p:inputText>
											</p:column>

											<p:column>
												<p:commandButton icon="ui-icon-trash" action="#{contratistaBean.eliminarContacto(_contacto)}" process="@this"
													update=":form:tabViewDetalleContratista:panelContacto"></p:commandButton>
											</p:column>

										</p:dataTable>

									</h:panelGrid>

								</p:outputPanel>

							</p:tab>

						</p:tabView>

					</p:panel>
				</p:outputPanel>

				<p:outputPanel id="panelListado" rendered="#{!contratistaBean.editado}">

					<p:dataTable lazy="true" id="tablaContratista" rowIndexVar="secuencial" emptyMessage="No exsten registros"
						value="#{contratistaBean.listaContratista}" var="_contratista" binding="#{contratistaBean.dtContratista}" paginator="true"
						paginatorPosition="bottom" style="width:100%" rows="10" selection="#{contratistaBean.contratista}" selectionMode="single"
						rowKey="#{_contratista.id}" sortBy="#{_contratista.nombre}">

						<f:facet name="header">
							<h:outputText value="Lista (Contratista)" />
						</f:facet>

						<p:column headerText="No">
							<h:outputText value="#{secuencial+1}" />
						</p:column>

						<p:column sortBy="#{_contratista.nombre}" filterBy="#{_contratista.nombre}">
							<f:facet name="header">
								<h:outputText value="Nombre" />
							</f:facet>
							<h:outputText value="#{_contratista.nombre}" />
						</p:column>

						<p:column sortBy="#{_contratista.ruc}" filterBy="#{_contratista.ruc}">
							<f:facet name="header">
								<h:outputText value="Ruc" />
							</f:facet>
							<h:outputText value="#{_contratista.ruc}" />
						</p:column>

						<p:column sortBy="#{_contratista.direccion}" filterBy="#{_contratista.direccion}">
							<f:facet name="header">
								<h:outputText value="Direccion" />
							</f:facet>
							<h:outputText value="#{_contratista.direccion}" />
						</p:column>

						<p:column sortBy="#{_contratista.telefono}" filterBy="#{_contratista.telefono}">
							<f:facet name="header">
								<h:outputText value="Numero" />
							</f:facet>
							<h:outputText value="#{_contratista.telefono}" />
						</p:column>

						<p:column sortBy="#{_contratista.email}" filterBy="#{_contratista.email}">
							<f:facet name="header">
								<h:outputText value="Email" />
							</f:facet>
							<h:outputText value="#{_contratista.email}" />
						</p:column>

					</p:dataTable>

				</p:outputPanel>

			</p:outputPanel>
		</h:form>

	</ui:define>

</ui:composition>